package com.sale.system.service;

import com.sale.common.mybatis.core.page.PageQuery;
import com.sale.common.mybatis.core.page.TableDataInfo;
import com.sale.system.api.domain.vo.SysAuditHistoryVo;
import com.sale.system.domain.SysExamine;
import com.sale.system.domain.dto.SysAuditHistoryDto;
import com.sale.system.domain.dto.SysExamineDto;

import java.sql.SQLException;
import java.util.List;

/**
 * @Description 审核
 * @Date 23-07-07
 * @Author hl
 **/
public interface ISysExamineService {

    /**
     * 分页审核信息
     *
     * @param sysExamine
     * @return TableDataInfo
     */
    TableDataInfo<SysExamine> selectExamineList(SysExamine sysExamine, PageQuery pageQuery);

    /**
     * 新增审核信息
     *
     * @param sysExamine
     * @return int
     */
    int insertExamine(SysExamine sysExamine) throws Exception;

    /**
     * 删除审核信息
     *
     * @param examineId
     * @return int
     */
    int deleteExamine(String examineId) throws SQLException;

    /**
     * 查询单个审核信息
     *
     * @param examineId
     * @return int
     */
    SysExamineDto getExamineInfo(long examineId);

    /**
     * 修改审核信息
     *
     * @param sysExamine
     * @return int
     */
    int updateSysExamineEdit(SysExamine sysExamine) throws Exception;

    /**
     * 根据按钮id返回审核信息
     */
    int getSequence(SysAuditHistoryVo sysAuditHistoryVo) throws Exception;

    /**
     * 根据权限码获取审核历史
     */
    List<SysAuditHistoryDto> getAuditHistory(SysAuditHistoryVo sysAuditHistoryVo);

    /**
     * 修改审核类型
     */
    int updateHistoryAppConfigEdit(SysAuditHistoryVo sysAuditHistoryVo);
}
